From cba8d491b2ae509c5ce2c8a4474b227dda585b88 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Tue, 2 May 2006 15:46:15 +0100 Subject: [PATCH] Virtual net drivers advertise multicast capabilities. Signed-off-by: Keir Fraser --- linux-2.6-xen-sparse/drivers/xen/netback/loopback.c | 9 +++++++++ linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/linux-2.6-xen-sparse/drivers/xen/netback/loopback.c b/linux-2.6-xen-sparse/drivers/xen/netback/loopback.c index 870b4aa2a6..6bedfa43ed 100644 --- a/linux-2.6-xen-sparse/drivers/xen/netback/loopback.c +++ b/linux-2.6-xen-sparse/drivers/xen/netback/loopback.c @@ -127,6 +127,14 @@ static struct ethtool_ops network_ethtool_ops = .set_tx_csum = ethtool_op_set_tx_csum, }; +/* + * Nothing to do here. Virtual interface is point-to-point and the + * physical interface is probably promiscuous anyway. + */ +static void loopback_set_multicast_list(struct net_device *dev) +{ +} + static void loopback_construct(struct net_device *dev, struct net_device *lo) { struct net_private *np = netdev_priv(dev); @@ -137,6 +145,7 @@ static void loopback_construct(struct net_device *dev, struct net_device *lo) dev->stop = loopback_close; dev->hard_start_xmit = loopback_start_xmit; dev->get_stats = loopback_get_stats; + dev->set_multicast_list = loopback_set_multicast_list; dev->tx_queue_len = 0; diff --git a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c index b49c505f67..197e34c47a 100644 --- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c +++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c @@ -1094,6 +1094,14 @@ static struct ethtool_ops network_ethtool_ops = .set_tx_csum = ethtool_op_set_tx_csum, }; +/* + * Nothing to do here. Virtual interface is point-to-point and the + * physical interface is probably promiscuous anyway. + */ +static void network_set_multicast_list(struct net_device *dev) +{ +} + /** Create a network device. * @param handle device handle * @param val return parameter for created device @@ -1163,6 +1171,7 @@ static int create_netdev(int handle, struct xenbus_device *dev, netdev->stop = network_close; netdev->get_stats = network_get_stats; netdev->poll = netif_poll; + netdev->set_multicast_list = network_set_multicast_list; netdev->uninit = netif_uninit; netdev->weight = 64; netdev->features = NETIF_F_IP_CSUM; -- 2.30.2